1. Field of the Invention
The invention relates to data communications and, more particularly, to a method for automated data transmission in automation system, a computer program product and to a field device for data transmission in an automation system using Dynamic Frame Packing.
2. Description of the Related Art
The known concept of Dynamic Frame Packing (DFP) was introduced to increase the transmission speed of data from field devices to controllers in an automation system. In DFP, data is transmitted using container frames. Terminals that are assigned to a packing group then transmit the data within these container frames. The advantage of transmitting data in this manner is that the overhead of Ethernet frames used for a given transmission is only counted once, since, because of the container frame, for example, only a preamble, a start frame delimiter and a header are used. As a result, it is possible to increase the packing density so that, within one clock cycle, data can be transmitted by a plurality of field devices, with the updating rates in relation to the transmission being significantly increased in comparison to data transmission that would not use DFP.
FIG. 1 shows the structure of a conventional real-time frame, with this frame itself being encapsulated for Ethernet transmissions in accordance with Request for Comment (RFC) 894 using the elements destination address, source address, Ethertype and cyclic redundancy check (CRC). In the event of priority tagging being used in accordance with Institute of Electrical and Electronic Engineers (IEEE) standard 802.1Q with the Ethertype set to 0x8100, followed by a priority/VLAN field, followed by a second Ethertype, which is set to 0x8892 and which indicates a real-time frame.
The frame ID is used to identify the frame itself, whereby the C_SDU is intended to transport the IO data of the field devices and the APDU status specifies the status of the frame.
In these cases, the C_SDU can be structured so that it either carries the IO data of an individual field device or so that it carries the IO data of a number of field devices. In the latter case, where the C_SDU carries a number of field devices, a part of the C_SDU (i.e., the subframe) carries the content of a specific field device. Here, the frame is subdivided into a number of subframes.
The reason for using a subdivision into frames is to minimize the required bandwidth and to explicitly optimize the overall system performance. As shown in FIG. 1, the overhead of a frame, i.e., the bytes to be transported other than the C_SDU, amounts to 28 bytes. However, the InterFrameGap additionally amounts to 12 bytes. As a result, the preamble amounts to 7 bytes and the start frame delimiter amounts to 1 byte and these also have to be taken into account, i.e., the sum total of the overhead of a frame amounts to 48 bytes (or 42 bytes if the preamble is shortened to 1 byte). If the C_SDU is also smaller than 40 bytes the difference must also be added in.
It is thus evident that the use of subdivided frames reduces the required bandwidth by combination of subframes 110 and 112, since, as shown in FIG. 2, the overhead of a subframe merely amounts to 6 bytes. By combining a number of subframes into an individual frame, the overhead for the frame that is used is only counted once.
Assigned to each of the subframes 110 and 112 is a position, a control bit, a data length that describes the length of the C_SDU, a cycle counter, a data status and a CRC. Here, the position involves a unique identifier for a given subframe, whereby the list of subframes is terminated by a specific subframe with the position number 0.
The control bit serves to specify whether or not the CRC and cycle counter of the subframe are to be ignored.
The data status of a subframe specifies the data status of the subframe. The data status within the APDU status of the frame specifies the data status of the frame. In the event of the frame consisting of subframes, the data status of the frame can be ignored. It is also helpful to assign a static value to the data status of the frame.